A non-volatile memory device having an array of non-volatile memory cells is well known in the art. A array of bidirectional non-volatile memory cells is also well known in the art. See for example, U.S. Pat. Nos. 6,936,883; and 7,190,018, assigned to the present assignee.
Virtual ground array of non-volatile memory cells is also well known in the art. See U.S. Pat. Nos. 6,704,217 and 6,430,077. A virtual ground array means that a terminal of a select non-volatile memory cell can be connected to either ground or to some other voltage depending upon the operation. In other words, the ground is not always connected to the same terminal in all operations. Hence the ground is “virtual”. The type of non-volatile memory cell that can be formed in a virtual ground array can be any type, including but not limited to floating gate, trapping charge layer, SLC or MLC.
Heretofore, virtually ground arrays have suffered from two problems. These relate to the read operation and the programming operation.